<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Cliente_Model extends CI_Controller {
    
    const TABLE_CLIENTE = 'cliente';
    const TABLE_USUARIO = 'usuario';
    const TABLE_REPRESENTANTE = 'representante';
    
    function clientePorId($id){
        $query = $this->db->get_where(self::TABLE_CLIENTE, array('usuario_idusuario'=>$id));
        if ($query->num_rows() > 0 ) {
               $cliente = $query->result(); 
               return $cliente;
        }
    }
    public function repPorId($id){
        $query = $this->db->get_where(self::TABLE_REPRESENTANTE, array('cliente_usuario_idusuario'=>$id));
        if($query->num_rows() > 0 ) {
           $cliente = $query->result(); 
           return $cliente;
        }
    }
    function recSenha($mail){
        if(!empty($mail)){
            $this->db->select('idusuario, senha');
            $this->db->from(self::TABLE_USUARIO);
            $this->db->join(self::TABLE_CLIENTE, 'cliente.usuario_idusuario = usuario.idusuario','inner');
            $this->db->where('email', $mail);
            $senha = $this->db->get();
            return $senha->result();
        }
    }
    function alteraSenha($auth, $new){
        if(!empty($auth)){
            $dados = array('idusuario'=>$auth['auth'][0], 'senha'=>$auth['auth'][1]);
            $this->db->where(array('idusuario'=>$dados['idusuario']));
            $this->db->where(array('senha'=>$dados['senha']));
            $this->db->update(self::TABLE_USUARIO ,array('senha'=>md5($new)));
            return ($this->db->affected_rows() > 0) ? TRUE : FALSE; 
        }
    }
    function insere($cliente, $login, $representante){
        if(!empty($cliente) && !empty($login)){
            $this->db->insert(self::TABLE_USUARIO, $login);
            $idusuario = array('usuario_idusuario'=>$this->db->insert_id('idusuario'));
            $insert = array_merge($cliente,$idusuario);
            $this->db->insert(self::TABLE_CLIENTE, $insert);
            if(!empty($representante)){
                $cliente_idusuario = array('cliente_usuario_idusuario'=>$idusuario['usuario_idusuario']);
                $insert1 = array_merge($representante, $cliente_idusuario);
                $this->db->insert(self::TABLE_REPRESENTANTE, $insert1);
            }
        }
    } 
     function edita($cliente, $representante){
        $idusuario = $this->session->userdata('idusuario');
        if(!empty($cliente) && !empty($idusuario)){            
            $this->db->where(array('usuario_idusuario'=>$idusuario));
            $this->db->update(self::TABLE_CLIENTE,$cliente);
            if(!empty($representante)){
                $this->db->where(array('cliente_usuario_idusuario'=>$idusuario));
                $this->db->update(self::TABLE_REPRESENTANTE, $representante);
            }
        }
    } 
}